1. 按照 RESTful 规范编写的接口应该是要无状态的。

    • 有状态: 比如一个资产应用系统,你想看下报废的台式机有多少,是什么型号,你得在登录界面登进去,然后点开资产维护功能,查看报废的相关信息,选中台式机。才能最终看到所有报废的台式机的相关信息,因为每个操作都会受前一个操作的限制。

    • 无状态: 只要输入一个制定的url,就能直接看到报废台式机的相关信息。因为获取这些报废台式机的信息属于一个资源,且不依赖其他的资源或者状态,就仅仅和一个url对应,可以通过HTTP中的get方法来获得,这个就是restful风格

2. 如果 APP 软件接口使用 session 进行认证,因为 session 是依赖于 cookie 的

    • 因为某些 APP 是无法处理 cookie 的,所以就无法使用 session 进行认证

3. 如果 网页接口 使用 session 进行认证,因为 session 是依赖于 cookie 的

    • 如果我们使用 postman 或 浏览器 直接访问接口,django 是可以读取到所设置的 session 值的,因为 postman 或 浏览器在发起请求的时候会把 cookie 中所存储的 sessionid 一并发送过来,然后 django 根据 sessionid 获取指定的 session 值

    • 如果我们使用 ajax 调用接口,django 是读取不到所设置的 session 值的,因为在使用 ajax 调用接口的时候没有把 cookie 中所存储的 sessionid 一并发送过来,如果想让 django 读取到 session 值,那么在使用 ajax 调用接口的时候需要把 cookie 中所存储的 sessionid 一并发送过来,然后 django 根据 sessionid 获取指定的 session 值

    • 如果我们使用 ajax 调用接口,每次都需要获取 cookie 中所存储的 sessionid ,然后一并发送给后台,这样就会显得很繁琐,所有直接使用 token 认证即可